package vue;

import javax.swing.*;

import java.awt.*;
/*Cette classe DessinComplet est un JPanel qui inclut :
 * La palette de couleur
 * La palette d'outils
 * Une zone scrollable qui contient :
 * La zone de dessin en elle meme
 * les axes X et Y
 * le Label qui sert d'indicateur souris
 */
public class DessinComplet extends JPanel{
	
	private PaletteOutils maToolBar;
	private PaletteCouleurs paletteCouleur;
	private Dessin d;
	
public Dessin getDessin() {return d;}
public void setDessin(Dessin d) {this.d = d;}

//Constructeur
DessinComplet(Dessin arg) {
	this.d = arg;  
	this.maToolBar = new PaletteOutils(d);
    this.paletteCouleur = new PaletteCouleurs(d);
    
    IndicateurSouris unindicateurSouris = new IndicateurSouris();
    this.d.setUnindicateurSouris(unindicateurSouris);
    
	this.maToolBar = new PaletteOutils(d);
    this.paletteCouleur = new PaletteCouleurs(d);
	Axe axeDesx = new Axe(d.getDimensionDessin().width,true);
	Axe axeDesy = new Axe(d.getDimensionDessin().height,false);
	 
	//Ajout de la zone de dessin au GridBagLayout
    JPanel gridBag = new JPanel(new GridBagLayout ());
    gridBag.setBackground(Color.darkGray);
    gridBag.add(d, new GridBagConstraints (1, 1, 1, 1, 0, 0,
            GridBagConstraints.CENTER,
            GridBagConstraints.CENTER,
            new Insets (0,0,0,0), 0, 0));    
    
    //Ajout de l'axe des X au GridBagLayout
    gridBag.add(axeDesx,new GridBagConstraints (1,0 , 1, 1, 0, 0,
            GridBagConstraints.LINE_END,
            GridBagConstraints.LINE_START,
            new Insets (0,0,0,0), 0, 0));    
    		
    //Ajout de l'axe des Y au GridBagLayout
    gridBag.add(axeDesy,new GridBagConstraints (0, 1, 1, 1, 0, 0,
	            GridBagConstraints.PAGE_END,
	            GridBagConstraints.LINE_START,
	            new Insets (0,0,0,0), 0, 0));    
    
    //Ajout de l'indicateurSouris au GridBagLayout
    gridBag.add(unindicateurSouris,new GridBagConstraints (1, 2, 1, 1, 0, 0,
            GridBagConstraints.PAGE_END,
            GridBagConstraints.LINE_START,
            new Insets (0,0,0,0), 0, 0));    
    
    //On rend le GridBagLayout scrollable
    JScrollPane scroll = new JScrollPane(gridBag);
    
    this.setLayout(new BorderLayout());
    this.add(maToolBar,BorderLayout.WEST);
    this.add(paletteCouleur,BorderLayout.EAST);
    this.add(scroll,BorderLayout.CENTER);
	
}

	
	
}
